home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / pctjmr86.arc / DOSCOM.PAS < prev    next >
Pascal/Delphi Source File  |  1985-12-16  |  1KB  |  33 lines

  1. program doscom;         { EXECUTE DOS COMMANDS }
  2.  
  3. {$I spmmlib.pas}        { INCLUDE SUB-PROCESSES & MEMORY MANAGEMENT }
  4.  
  5. var
  6.    parameter_string,program_name:asciiz;
  7.    memory_segment,pp_to_release :integer;
  8.  
  9.    begin
  10.    pp_to_release:=$6A5;           { PLENTY FOR DOS 3.1 }
  11.    if dos48H(pp_to_release,memory_segment)=0 then 
  12.       begin                       { SEE IF ENOUGH MEMORY FREE }
  13.       if dos_error_check(dos49H(memory_segment)) then
  14.          exit;
  15.       end
  16.    else  { IF NOT, THEN REDUCE THE SIZE OF THE CURRENT ALLOCATION }
  17.       if dos_error_check(dos4AH(pp_to_release)) then
  18.          exit;
  19.    if get_comspec(program_name) then     
  20.       exit;                 { TERMINATE IF CANT GET COMSPEC NAME }
  21.    while true do
  22.       begin
  23.       writeln;write('Enter DOS Command: ');
  24.       readln(parameter_string); 
  25.               { BUILD THE PARAMETER STRING FOR COMMMAND.COM }
  26.       if (parameter_string='bye') or (parameter_string='BYE') then
  27.          exit;
  28.       parameter_string:='/c '+parameter_string;
  29.       parameter_string[length(parameter_string)+1]:=#13;
  30.       if dos_error_check(dos4BH(program_name,parameter_string)) then
  31.          writeln('Command Cancelled.')
  32.       end;
  33.    end.